package com.molichuxing.services.property.sdk;

/**
 * 支付宝交易状态
 * 
 * @author zoumingyu
 * @date 2018年7月20日
 *
 */
public enum AlipayTradeStateEnum {
	/**
	 * 交易结束并不可退款
	 */
	TRADE_FINISHED("TRADE_FINISHED", "交易结束"),
	/**
	 * 交易支付成功
	 */
	TRADE_SUCCESS("TRADE_SUCCESS", "支付成功"),
	/**
	 * 未付款交易超时关闭或支付完成后全额退款
	 */
	TRADE_CLOSED("TRADE_CLOSED", "交易关闭"),
	/**
	 * 交易创建并等待买家付款
	 */
	WAIT_BUYER_PAY("WAIT_BUYER_PAY", "交易创建");

	private String value;

	private String name;

	AlipayTradeStateEnum(String value, String name) {
		this.value = value;
		this.name = name;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 通过value获取枚举的name
	 *
	 * @param value
	 * @return
	 */
	public static String getName(String value) {
		for (AlipayTradeStateEnum enumerate : AlipayTradeStateEnum.values()) {
			if (enumerate.getValue().equals(value)) {
				return enumerate.name();
			}
		}
		return null;
	}

	/**
	 * 通过枚举名获取枚举类
	 *
	 * @param enumerate
	 * @return
	 */
	public static AlipayTradeStateEnum getEnum(String enumerate) {
		try {
			return Enum.valueOf(AlipayTradeStateEnum.class, enumerate);
		} catch (Exception e) {

		}
		return null;
	}
}
